package com.lh0811.forge.pserv.uacs.server.service;

import com.github.pagehelper.PageInfo;
import com.lh0811.forge.pserv.uacs.api.param.UacsTenantDepartmentCreateParam;
import com.lh0811.forge.pserv.uacs.api.param.UacsTenantDepartmentQueryListParam;
import com.lh0811.forge.pserv.uacs.api.param.UacsTenantDepartmentQueryPageParam;
import com.lh0811.forge.pserv.uacs.api.param.UacsTenantDepartmentUpdateParam;
import com.lh0811.forge.pserv.uacs.api.vo.TDesignCascaderVo;
import com.lh0811.forge.pserv.uacs.api.vo.UacsTenantDepartmentQueryVo;

import java.util.List;

public interface TenantDepartmentService {

    void tenantDepartmentCreate(UacsTenantDepartmentCreateParam param) throws Exception;

    void tenantDepartmentDelete(Long tenantDepartmentId) throws Exception;

    void tenantDepartmentUpdate(UacsTenantDepartmentUpdateParam param) throws Exception;

    PageInfo<UacsTenantDepartmentQueryVo> tenantDepartmentQueryPage(UacsTenantDepartmentQueryPageParam param) throws Exception;

    List<UacsTenantDepartmentQueryVo> tenantDepartmentQueryList(UacsTenantDepartmentQueryListParam param) throws Exception;

    List<TDesignCascaderVo> tenantDepartmentQueryListCascaderGroupByTenant(Long tenantId) throws Exception;
}
